package net.csdn.business.common.domain.request.pop;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class InformationListVO {
    /**
     * 文章id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long informationId;


    /**
     * 资讯文章标题
     */
    private String informationTitle;


    /**
     * 资讯文章描述，最大支持500字
     */
    private String informationMsg;

    /**
     * 标签集合
     */
    private List<String> labelNameList;


    /**
     * 封面url
     */
    private String coverUrl;


    /**
     * 资讯类型 1精选 2非精选
     */
    private Integer informationType;

    /**
     * 资讯类型 0非精选 1精选
     */
    private Integer isSelected;


    /**
     * 资讯状态：1.已发布  2.草稿  3.已下线 4.审核中 5.未通过
     */
    private Integer informationState;

    private Long informationLikeCount;

    //收藏数
    private Long informationCollections;

    //评论数
    private Long informationCommentCount;

    private String reason;

    /**
     * 文章浏览量
     */
    private Long informationViews;

    private Long communityId;

    private String communityName;

    private String communityCode;

    private String communityLogo;

    //社区头像
    private String communityHeadPic;

    private String communityBaseUrl;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updateTime;

    private String createId;

    private String createName;

    private String createNickName;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 资讯关键词，最大支持500字
     */
    private String informationKeywords;

    private Long informationCollectNum;

    private Long informationLikeNum;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime publishTime;
}
